#region Using directives

using System;
using System.Collections.Generic;
using System.Text;

#endregion

namespace Weazel.Gezel.Model
{

  public class InPort : Port
  {
		protected InPort(Datapath parent, string name) 
			: base(parent, name, -1)
		{
		}

		protected InPort(IPBlock parent, string name)
			: base(parent, name, -1)
		{
		}

    public InPort(IPBlock parent, string name, int width, bool signed, int pos) : 
      base(parent, name, width, signed, pos)
    {      
    }

		public InPort(
			IPBlock parent, 
			string name, 
			int width, 
			bool signed, 
			int pos,
			Position startPosition,
			Position endPosition
		)
			: base(parent, name, width, signed, pos, startPosition, endPosition)
    {
    }

    public InPort(Datapath parent, string name, int width, bool signed, int pos) : 
      base(parent, name, width, signed, pos)
    {
    }

		public InPort(
			Datapath parent, 
			string name, 
			int width, 
			bool signed, 
			int pos, 
			Position startPosition,
			Position endPosition
		)
			: base(parent, name, width, signed, pos, startPosition, endPosition)
    {
    }

    public InPort Clone(Datapath newParent)
    {
      return new InPort(newParent, localName, Width, Signed, DeclarationPosition, startPosition, endPosition);
    }
  }
}
